package com.rbac.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.domain.dto.PageDTO;
import com.domain.dto.role.*;
import com.domain.query.role.RoleQuery;
import com.domain.vo.JsonVO;
import com.rbac.pojo.Role;

import java.util.List;

public interface IRoleService extends IService<Role> {

    PageDTO<RoleDTO> queryRoleList(RoleQuery roleQuery);

    RoleDTO queryRoleByRoleId(Integer roleId);

    Integer addRole(AddRoleDTO addRoleDTO);

    Integer modifyRole(ModifyRoleDTO modifyRoleDTO);

    Integer removeRole(List<Integer> roleIds);

    List<String> queryUserNameListByRoleId(Integer roleId);

    List<String> queryPermissionNameListByRoleId(Integer roleId);

    Integer modifyRolePermission(ModifyRolePermissionDTO modifyRolePermissionDTO);

    List<PermissionTreeDTO> getPermissionTree(Integer roleId);
}
